package com.gun.management.module.task.service.taskRewardLog;

import java.util.*;
import jakarta.validation.Valid;
import com.gun.management.module.task.controller.admin.taskRewardLog.vo.*;
import com.gun.management.module.task.controller.admin.taskRewardRecord.vo.TaskRewardRecordPageReqVO;
import com.gun.management.module.task.controller.admin.taskRewardRecord.vo.TaskRewardRecordRespVO;
import com.gun.management.module.task.dal.dataobject.taskRewardLog.TaskRewardLogDO;
import com.gun.management.framework.common.pojo.PageResult;
import com.gun.management.framework.common.pojo.PageParam;

/**
 * 任务奖励日志信息 Service 接口
 *
 * @author 测试账号
 */
public interface TaskRewardLogService {

    /**
     * 创建任务奖励日志信息
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createRewardLog(@Valid TaskRewardLogSaveReqVO createReqVO);

    /**
     * 更新任务奖励日志信息
     *
     * @param updateReqVO 更新信息
     */
    void updateRewardLog(@Valid TaskRewardLogSaveReqVO updateReqVO);

    /**
     * 删除任务奖励日志信息
     *
     * @param id 编号
     */
    void deleteRewardLog(Long id);

    /**
     * 获得任务奖励日志信息
     *
     * @param id 编号
     * @return 任务奖励日志信息
     */
    TaskRewardLogDO getRewardLog(Long id);

    /**
     * 获得任务奖励日志信息分页
     *
     * @param pageReqVO 分页查询
     * @return 任务奖励日志信息分页
     */
    PageResult<TaskRewardLogRespVO> getRewardLogPage(TaskRewardLogPageReqVO pageReqVO);

}